package com.sxjh.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 物料分类表
 * </p>
 *
 * @author zixin
 * @since 2021-08-27
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("material_categories")
@ApiModel(value="MaterialCategories对象", description="物料分类表")
public class MaterialCategories implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "父ID")
    @TableField("pid")
    private Integer pid;

    @ApiModelProperty(value = "分类名称")
    @TableField("title")
    private String title;

    @ApiModelProperty(value = "物料大类编码")
    @TableField("code")
    private String code;

    @ApiModelProperty(value = "车辆最大进厂数")
    @TableField("max_vehicle_total")
    private Integer maxVehicleTotal;

    @ApiModelProperty(value = "是否特殊物料[1:是;0:否]")
    @TableField("is_special")
    private Integer isSpecial;

    @ApiModelProperty(value = "计算方式[1:单物料过磅复核;2:正常过磅复核;3:过磅计量;4:过磅复核+计量]")
    @TableField("formula_mode")
    private Integer formulaMode;

    @ApiModelProperty(value = "称重浮动类型[1:百分比;2:公斤]")
    @TableField("float_type")
    private Integer floatType;

    @ApiModelProperty(value = "上浮动数值")
    @TableField("up_float_value")
    private BigDecimal upFloatValue;

    @ApiModelProperty(value = "下浮动数值")
    @TableField("down_float_value")
    private BigDecimal downFloatValue;

    @ApiModelProperty(value = "是否多物料运输，0=》否，1=》是")
    @TableField("is_multiple")
    private Integer isMultiple;

    @TableField(value = "created_at", fill = FieldFill.INSERT)
    private LocalDateTime createdAt;

    @TableField(value = "updated_at", fill = FieldFill.UPDATE)
    private LocalDateTime updatedAt;

    @TableField("deleted_at")
    private LocalDateTime deletedAt;


}
